 #include "28byj.h"


uint16_t phasecw[4] ={0x0200,0x0100,0x0080,0x0040};// D-C-B-A  
uint16_t phaseccw[4]={0x0040,0x0080,0x0100,0x0200};// A-B-C-D

u8 men = 0;

void Moto_Init(void)
{
	GPIO_InitTypeDef GPIO_InitStructure;
	RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOC,ENABLE);
	GPIO_InitStructure.GPIO_Pin = GPIO_Pin_6 | GPIO_Pin_7 | GPIO_Pin_8 | GPIO_Pin_9 ;
	GPIO_InitStructure.GPIO_Mode = GPIO_Mode_Out_PP;
	GPIO_InitStructure.GPIO_Speed = GPIO_Speed_50MHz;
	GPIO_Init(GPIOC,&GPIO_InitStructure);
	GPIO_ResetBits(GPIOC,GPIO_Pin_6 | GPIO_Pin_7 |GPIO_Pin_8 |GPIO_Pin_9 );

}


void Motorcw(void) 
{ 
    uint8_t i; 
 
    for(i=0;i<4;i++) 
    { 
        GPIO_Write(GPIOC,GPIOC->IDR | phasecw[i]); 
        delay_ms(5);
		GPIO_Write(GPIOC,GPIOC->IDR & 0xfc3f); 		
    } 
}


void Motorccw(void) 
{ 
    uint8_t i; 
    for(i=0;i<4;i++) 
    { 
        GPIO_Write(GPIOC,GPIOC->IDR | phaseccw[i]); 
        delay_ms(5);
		GPIO_Write(GPIOC,GPIOC->IDR & 0xfc3f); 
    } 
}


void MotorStop(void) 
{ 
	GPIO_Write(GPIOC,0x0000); 
}



void Kaimen(void){
	u8 i = 0;
	for(i = 0; i < 105; i++){
		Motorccw();
	}
	men = 1;
}

void Guanmen(void){
	u8 i = 0;
	for(i = 0; i < 105; i++){
		Motorcw();
	}
	men = 0;
}

